package com.ruoyi.mushcoin.domain.bo;

import com.ruoyi.common.orm.core.domain.BaseEntityTo;
import com.ruoyi.mushcoin.domain.TgGameGoodsInfo;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

import java.math.BigDecimal;

import com.ruoyi.common.orm.core.domain.BaseEntity;

/**
 * TG游戏商品业务对象 tg_game_goods_info
 *
 * @author billy
 * @date 2024-10-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TgGameGoodsInfo.class, reverseConvertGenerate = false)
public class TgGameGoodsInfoBo extends BaseEntityTo {

    private Long id;

    /**
     * 商品ID
     */
    @NotNull(message = "商品ID不能为空")
    private Long goodsId;

    /**
     * 商品状态
     */
    @NotNull(message = "商品状态不能为空")
    private Integer status;

    /**
     * 标题
     */
    @NotBlank(message = "标题不能为空")
    private String title;

    /**
     * 交易金额展示
     */
    @NotBlank(message = "交易金额展示不能为空")
    private String usPrice;

    /**
     * 折扣
     */
    private Double discount;

    /**
     * 交易金额（USDT）
     */
    @NotNull(message = "交易金额（USDT）不能为空")
    private BigDecimal price;

    /**
     * 交易数量(Star)
     */
    private Integer priceStar;

    /**
     * 商品价值(月份/币/时长)
     */
    @NotNull(message = "商品价值(月份/币/时长)不能为空")
    private Long goodsValue;

    /**
     * 游戏币代码
     */
    private Integer gameCurrencyCode;


    /**
     * 交易钱包类型：ton
     */
    private String walletType;
    /**
     * 商品类型：开通会员=1 道具=2
     */
    private Integer type;


    /**
     * 排序
     */
    private Integer sort;


}
